package bold.deposit.aop;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * 此注解 标注的方法职能单一 只做数据的生成
 * 方法返回值必须为
 * String  List<String>   Map<String,String> 及redis 5种数据类型
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface RedisCache {
    String key();

    /**
     * 降低 缓存颗粒
     * 和形参 名字一致最终调用 valueOf 拼接到key上面
     */
    String sign() default "";

    /**
     * 不填默认永久
     */
    int time() default 0;

    TimeUnit unit() default TimeUnit.SECONDS;
}
